home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / Oberon_Interfaces / Interfaces / Prefs.mod < prev    next >
Text File  |  1994-03-05  |  19KB  |  642 lines

  1. (*
  2. (*  Amiga Oberon Interface Module:
  3. **  $VER: Prefs.mod 40.15 (28.12.93) Oberon 3.0
  4. **
  5. **      (C) Copyright 1991-1992 Commodore-Amiga, Inc.
  6. **          All Rights Reserved
  7. **
  8. **      (C) Copyright Oberon Interface 1993 by hartmut Goebel
  9. *)          All Rights Reserved
  10. *)
  11.  
  12. MODULE Prefs;
  13.  
  14. IMPORT SYSTEM *,
  15.        g * := Graphics,
  16.        I * := Intuition,
  17.        Timer *;
  18.  
  19. TYPE
  20.   PrefHeaderPtr       *= UNTRACED POINTER TO PrefHeader;
  21.   FontPrefsPtr        *= UNTRACED POINTER TO FontPrefs;
  22.   IControlPrefsPtr    *= UNTRACED POINTER TO IControlPrefs;
  23.   InputPrefsPtr       *= UNTRACED POINTER TO InputPrefs;
  24.   CountryPrefsPtr     *= UNTRACED POINTER TO CountryPrefs;
  25.   LocalePrefsPtr      *= UNTRACED POINTER TO LocalePrefs;
  26.   OverscanPrefsPtr    *= UNTRACED POINTER TO OverscanPrefs;
  27.   PalettePrefsPtr     *= UNTRACED POINTER TO PalettePrefs;
  28.   PointerPrefsPtr     *= UNTRACED POINTER TO PointerPrefs;
  29.   RGBTablePtr         *= UNTRACED POINTER TO RGBTable;
  30.   PrinterGfxPrefsPtr  *= UNTRACED POINTER TO PrinterGfxPrefs;
  31.   PrinterPSPrefsPtr   *= UNTRACED POINTER TO PrinterPSPrefs;
  32.   PrinterTxtPrefsPtr  *= UNTRACED POINTER TO PrinterTxtPrefs;
  33.   PrinterUnitPrefsPtr *= UNTRACED POINTER TO PrinterUnitPrefs;
  34.   ScreenModePrefsPtr  *= UNTRACED POINTER TO ScreenModePrefs;
  35.   SerialPrefsPtr      *= UNTRACED POINTER TO SerialPrefs;
  36.   SoundPrefsPtr       *= UNTRACED POINTER TO SoundPrefs;
  37.   WBPatternPrefsPtr   *= UNTRACED POINTER TO WBPatternPrefs;
  38.  
  39. (*****************************************************************************)
  40.  
  41. CONST
  42.   idPREF      * = SYSTEM.VAL(LONGINT,'PREF');
  43.   idPRHD      * = SYSTEM.VAL(LONGINT,'PRHD');
  44.  
  45. TYPE
  46.   PrefHeader  * = STRUCT
  47.     version * : SHORTINT;   (* version of following data *)
  48.     type    * : SHORTINT;   (* type of following data    *)
  49.     flags   * : LONGSET;    (* always set to 0 for now   *)
  50.   END;
  51.  
  52. (*****************************************************************************)
  53.  
  54. CONST
  55.   idFONT      * = SYSTEM.VAL(LONGINT,'FONT');
  56.  
  57.   fontNameSize * = 128;
  58.  
  59. TYPE
  60.   FontPrefs   * = STRUCT
  61.     reserved  * : ARRAY 3 OF LONGINT;
  62.     reserved2 * : INTEGER;
  63.     type      * : INTEGER;
  64.     frontPen  * : SHORTINT;
  65.     backPen   * : SHORTINT;
  66.     drawMode  * : SHORTINT;
  67.     textAttr  * : g.TextAttr;
  68.     name      * : ARRAY fontNameSize OF CHAR;
  69.   END;
  70.  
  71. CONST
  72. (* constants for FontPrefs.fp_Type *)
  73.   wbFont      * = 0;
  74.   sysFont     * = 1;
  75.   screenFont  * = 2;
  76.  
  77.  
  78. (*****************************************************************************)
  79.  
  80.   idICTL      * = SYSTEM.VAL(LONGINT,'ICTL');
  81.  
  82. TYPE
  83.   IControlPrefs * = STRUCT
  84.     reserved    * : ARRAY 4 OF LONGINT; (* System reserved      *)
  85.     timeOut     * : INTEGER;    (* Verify timeout               *)
  86.     metaDrag    * : INTEGER;    (* Meta drag mouse event        *)
  87.     flags       * : LONGSET;    (* IControl flags (see below)   *)
  88.     wBtoFront   * : CHAR;       (* CKey: WB to front            *)
  89.     frontToBack * : CHAR;       (* CKey: front screen to back   *)
  90.     reqTrue     * : CHAR;       (* CKey: Requester TRUE         *)
  91.     reqFalse    * : CHAR;       (* CKey: Requester FALSE        *)
  92.   END;
  93.  
  94. CONST
  95. (* flags for IControlPrefs.ic_Flags *)
  96.   coerceColors * = 0;
  97.   coerceLace   * = 1;
  98.   strGadFilter * = 2;
  99.   menuSnap     * = 3;
  100.   modePromote  * = 4;
  101.  
  102.  
  103. (*****************************************************************************)
  104.  
  105.  
  106.   idINPT      * = SYSTEM.VAL(LONGINT,'INPT');
  107.  
  108. TYPE
  109.   InputPrefs  * = STRUCT
  110.     keymap       * : ARRAY 16 OF CHAR;
  111.     pointerTicks * : INTEGER;
  112.     doubleClick  * : Timer.TimeVal;
  113.     keyRptDelay  * : Timer.TimeVal;
  114.     keyRptSpeed  * : Timer.TimeVal;
  115.     mouseAccel   * : INTEGER;
  116.   END;
  117.  
  118.  
  119. (*****************************************************************************)
  120.  
  121. CONST
  122.   idLCLE      * = SYSTEM.VAL(LONGINT,'LCLE') ;
  123.   idCTRY      * = SYSTEM.VAL(LONGINT,'CTRY') ;
  124.  
  125. TYPE
  126.   CountryPrefs * = STRUCT
  127.     reserved              * : ARRAY 4 OF LONGINT;
  128.     countryCode           * : LONGINT;
  129.     telephoneCode         * : LONGINT;
  130.     measuringSystem       * : SHORTINT;
  131.  
  132.     dateTimeFormat        * : ARRAY 80 OF CHAR;
  133.     dateFormat            * : ARRAY 40 OF CHAR;
  134.     timeFormat            * : ARRAY 40 OF CHAR;
  135.  
  136.     shortDateTimeFormat   * : ARRAY 80 OF CHAR;
  137.     shortDateFormat       * : ARRAY 40 OF CHAR;
  138.     shortTimeFormat       * : ARRAY 40 OF CHAR;
  139.  
  140.     (* for numeric values *)
  141.     decimalPoint          * : ARRAY 10 OF CHAR;
  142.     groupSeparator        * : ARRAY 10 OF CHAR;
  143.     fracGroupSeparator    * : ARRAY 10 OF CHAR;
  144.     grouping              * : ARRAY 10 OF SHORTINT;
  145.     fracGrouping          * : ARRAY 10 OF SHORTINT;
  146.  
  147.     (* for monetary values *)
  148.     monDecimalPoint       * : ARRAY 10 OF CHAR;
  149.     monGroupSeparator     * : ARRAY 10 OF CHAR;
  150.     monFracGroupSeparator * : ARRAY 10 OF CHAR;
  151.     monGrouping           * : ARRAY 10 OF SHORTINT;
  152.     monFracGrouping       * : ARRAY 10 OF SHORTINT;
  153.     monFracDigits         * : SHORTINT;
  154.     monIntFracDigits      * : SHORTINT;
  155.  
  156.     (* for currency symbols *)
  157.     monCS                 * : ARRAY 10 OF CHAR;
  158.     monSmallCS            * : ARRAY 10 OF CHAR;
  159.     monIntCS              * : ARRAY 10 OF CHAR;
  160.  
  161.     (* for positive monetary values *)
  162.     monPositiveSign       * : ARRAY 10 OF CHAR;
  163.     monPositiveSpaceSep   * : SHORTINT;
  164.     monPositiveSignPos    * : SHORTINT;
  165.     monPositiveCSPos      * : SHORTINT;
  166.  
  167.     (* for negative monetary values *)
  168.     monNegativeSign       * : ARRAY 10 OF CHAR;
  169.     monNegativeSpaceSep   * : SHORTINT;
  170.     monNegativeSignPos    * : SHORTINT;
  171.     monNegativeCSPos      * : SHORTINT;
  172.  
  173.     calendarType          * : SHORTINT;
  174.   END;
  175.  
  176.  
  177.   LocalePrefs * = STRUCT
  178.     reserved           * : ARRAY 4 OF LONGINT;
  179.     countryName        * : ARRAY 32 OF CHAR;
  180.     preferredLanguages * : ARRAY 10,30 OF CHAR;
  181.     gmtOffset          * : LONGINT;
  182.     flags              * : LONGSET;
  183.     countryData        * : CountryPrefs;
  184.   END;
  185.  
  186.  
  187. (*****************************************************************************)
  188.  
  189. CONST
  190.   idOSCN      * = SYSTEM.VAL(LONGINT,'OSCN');
  191.  
  192.   oscanMagic  * = 0FEDCBA89H;
  193.  
  194. TYPE
  195.   OverscanPrefs * = STRUCT
  196.     reserved  * : LONGINT;
  197.     magic     * : LONGINT;
  198.     hStart    * : INTEGER;
  199.     hStop     * : INTEGER;
  200.     vStart    * : INTEGER;
  201.     vStop     * : INTEGER;
  202.     displayID * : LONGINT;
  203.     viewPos   * : g.Point;
  204.     text      * : g.Point;
  205.     standard  * : g.Rectangle;
  206.   END;
  207.  
  208. (* os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
  209.  * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
  210.  * these four fields are undefined
  211.  *)
  212.  
  213.  
  214. (*****************************************************************************)
  215.  
  216. CONST
  217.   idPALT      * = SYSTEM.VAL(LONGINT,'PALT');
  218.  
  219. TYPE
  220.   PalettePrefs * = STRUCT
  221.     reserved      * : ARRAY 4 OF LONGINT;      (* System reserved                *)
  222.     pap4colorPens * : ARRAY 32 OF INTEGER;
  223.     pap8colorPens * : ARRAY 32 OF INTEGER;
  224.     colors        * : ARRAY 32 OF I.ColorSpec; (* Used as full 16-bit RGB values *)
  225.   END;
  226.  
  227.  
  228. (*****************************************************************************)
  229.  
  230. CONST
  231.   idPNTR      * = SYSTEM.VAL(LONGINT,'PNTR');
  232.  
  233. TYPE
  234.   PointerPrefs * = STRUCT
  235.     reserved  * : ARRAY 4 OF LONGINT;
  236.     which     * : INTEGER;            (* 0=NORMAL, 1=BUSY *)
  237.     size      * : INTEGER;            (* see <intuition/pointerclass.h> *)
  238.     width     * : INTEGER;            (* Width in pixels *)
  239.     height    * : INTEGER;            (* Height in pixels *)
  240.     depth     * : INTEGER;            (* Depth *)
  241.     ySize     * : INTEGER;            (* YSize *)
  242.     x *, y    * : INTEGER;            (* Hotspot *)
  243.  
  244.     (* Color Table:  numEntries = (1 << pp_Depth) - 1 *)
  245.  
  246.     (* Data follows *)
  247.   END;
  248.  
  249. CONST
  250. (* constants for PointerPrefs.pp_Which *)
  251.   normal      * = 0;
  252.   busy        * = 1;
  253.  
  254. (*****************************************************************************)
  255.  
  256. TYPE
  257.   RGBTable    * = STRUCT
  258.     red   * : SHORTINT;
  259.     green * : SHORTINT;
  260.     blue  * : SHORTINT;
  261.   END;
  262.  
  263. (*****************************************************************************)
  264.  
  265. CONST
  266.   idPGFX      * = SYSTEM.VAL(LONGINT,'PGFX') ;
  267.  
  268. TYPE
  269.   PrinterGfxPrefs * = STRUCT
  270.     reserved       * : ARRAY 4 OF LONGINT;
  271.     aspect         * : INTEGER;
  272.     shade          * : INTEGER;
  273.     image          * : INTEGER;
  274.     threshold      * : INTEGER;
  275.     colorCorrect   * : SHORTINT;
  276.     dimensions     * : SHORTINT;
  277.     dithering      * : SHORTINT;
  278.     graphicFlags   * : SET;
  279.     printDensity   * : SHORTINT;   (* Print density 1 - 7 *)
  280.     printMaxWidth  * : INTEGER;
  281.     printMaxHeight * : INTEGER;
  282.     printXOffset   * : SHORTINT;
  283.     printYOffset   * : SHORTINT;
  284.   END;
  285.  
  286. CONST
  287. (* constants for PrinterGfxPrefs.pg_Aspect *)
  288.   horizontal  * = 0;
  289.   vertical    * = 1;
  290.  
  291. (* constants for PrinterGfxPrefs.pg_Shade *)
  292.   psBW        * = 0;
  293.   greyScale   * = 1;
  294.   color       * = 2;
  295.   greyScale2  * = 3;
  296.  
  297. (* constants for PrinterGfxPrefs.pg_Image *)
  298.   positive    * = 0;
  299.   negative    * = 1;
  300.  
  301. (* flags for PrinterGfxPrefs.pg_ColorCorrect *)
  302.   red         * = 1;         (* color correct red shades   *)
  303.   green       * = 2;         (* color correct green shades *)
  304.   blue        * = 3;         (* color correct blue shades  *)
  305.  
  306. (* constants for PrinterGfxPrefs.pg_Dimensions *)
  307.   ignore      * = 0;         (* ignore max width/height settings *)
  308.   bounded     * = 1;         (* use max w/h as boundaries        *)
  309.   absolute    * = 2;         (* use max w/h as absolutes         *)
  310.   pixel       * = 3;         (* use max w/h as prt pixels        *)
  311.   multiply    * = 4;         (* use max w/h as multipliers       *)
  312.  
  313. (* constants for PrinterGfxPrefs.pg_Dithering *)
  314.   ordered     * = 0;         (* ordered dithering *)
  315.   halftone    * = 1;         (* halftone dithering        *)
  316.   floyd       * = 2;         (* Floyd-Steinberg dithering *)
  317.  
  318. (* flags for PrinterGfxPrefs.pg_GraphicsFlags *)
  319.   centerImage    * = 0;      (* center image on paper *)
  320.   integerScaling * = 1;      (* force integer scaling *)
  321.   antiAlias      * = 2;      (* anti-alias image      *)
  322.  
  323.  
  324. (*****************************************************************************)
  325.  
  326.  
  327.   idPSPD      * = SYSTEM.VAL(LONGINT,'PSPD') ;
  328.  
  329. TYPE
  330.   PrinterPSPrefs * = STRUCT
  331.     reserved       * : ARRAY 4 OF LONGINT;  (* System reserved *)
  332.  
  333.     (* Global printing attributes *)
  334.     driverMode     * : SHORTINT;
  335.     paperFormat    * : SHORTINT;
  336.     reserved1      * : ARRAY 2 OF SHORTINT;
  337.     copies         * : LONGINT;
  338.     paperWidth     * : LONGINT;
  339.     paperHeight    * : LONGINT;
  340.     horizontalDPI  * : LONGINT;
  341.     verticalDPI    * : LONGINT;
  342.  
  343.     (* Text Options *)
  344.     font           * : SHORTINT;
  345.     pitch          * : SHORTINT;
  346.     orientation    * : SHORTINT;
  347.     tab            * : SHORTINT;
  348.     reserved2      * : ARRAY 8 OF SHORTINT;
  349.  
  350.     (* Text Dimensions *)
  351.     leftMargin     * : LONGINT;
  352.     rightMargin    * : LONGINT;
  353.     topMargin      * : LONGINT;
  354.     bottomMargin   * : LONGINT;
  355.     fontPointSize  * : LONGINT;
  356.     leading        * : LONGINT;
  357.     reserved3      * : ARRAY 8 OF SHORTINT;
  358.  
  359.     (* Graphics Options *)
  360.     leftEdge       * : LONGINT;
  361.     topEdge        * : LONGINT;
  362.     width          * : LONGINT;
  363.     height         * : LONGINT;
  364.     image          * : SHORTINT;
  365.     shading        * : SHORTINT;
  366.     dithering      * : SHORTINT;
  367.     reserved4      * : ARRAY 9 OF SHORTINT;
  368.  
  369.     (* Graphics Scaling *)
  370.     aspect         * : SHORTINT;
  371.     scalingType    * : SHORTINT;
  372.     reserved5      * : SHORTINT;
  373.     centering      * : SHORTINT;
  374.     reserved6      * : ARRAY 8 OF SHORTINT;
  375.   END;
  376.  
  377. CONST
  378. (* All measurements are in Millipoints which is 1/1000 of a point, or
  379.  * in other words 1/72000 of an inch
  380.  *)
  381.  
  382. (* constants for PrinterPSPrefs.ps_DriverMode *)
  383.   postscript  * = 0;
  384.   passThrough * = 1;
  385.  
  386. (* constants for PrinterPSPrefs.ps_PaperFormat *)
  387.   usLetter    * = 0;
  388.   usLegal     * = 1;
  389.   a4          * = 2;
  390.   custom      * = 3;
  391.  
  392. (* constants for PrinterPSPrefs.ps_Font *)
  393.   courier      * = 0;
  394.   times        * = 1;
  395.   helvetica    * = 2;
  396.   helvNarrow   * = 3;
  397.   avantgarde   * = 4;
  398.   bookman      * = 5;
  399.   newCent      * = 6;
  400.   palatino     * = 7;
  401.   zapfChancery * = 8;
  402.  
  403. (* constants for PrinterPSPrefs.ps_Pitch *)
  404.   pitchNormal     * = 0;
  405.   pitchCompressed * = 1;
  406.   pitchExpanded   * = 2;
  407.  
  408. (* constants for PrinterPSPrefs.ps_Orientation *)
  409.   portrait     * = 0;
  410.   landscape    * = 1;
  411.  
  412. (* constants for PrinterPSPrefs.ps_Tab *)
  413.   tab4         * = 0;
  414.   tab8         * = 1;
  415.   tabQuart     * = 2;
  416.   tabHalf      * = 3;
  417.   tabInch      * = 4;
  418.  
  419. (* constants for PrinterPSPrefs.ps_Image *)
  420.   (* positive  * = 0; *) (* same values as for printergfx *)
  421.   (* negative  * = 1; *)
  422.  
  423. (* constants for PrinterPSPrefs.ps_Shading *)
  424.   shadBW        * = 0;
  425.   shadGreyScale * = 1;
  426.   shadColor     * = 2;
  427.  
  428. (* constants for PrinterPSPrefs.ps_Dithering *)
  429.   default    * = 0;
  430.   dotty      * = 1;
  431.   vert       * = 2;
  432.   horiz      * = 3;
  433.   diag       * = 4;
  434.  
  435. (* constants for PrinterPSPrefs.ps_Aspect *)
  436.   aspHoriz    * = 0;
  437.   aspVert     * = 1;
  438.  
  439. (* constants for PrinterPSPrefs.ps_ScalingType *)
  440.   aspectAsIs  * = 0;
  441.   aspectWide  * = 1;
  442.   aspectTall  * = 2;
  443.   aspectBoth  * = 3;
  444.   fitsWide    * = 4;
  445.   fitsTall    * = 5;
  446.   fitsBoth    * = 6;
  447.  
  448. (* constants for PrinterPSPrefs.ps_Centering *)
  449.   centNone    * = 0;
  450.   centHoriz   * = 1;
  451.   centVert    * = 2;
  452.   centBoth    * = 3;
  453.  
  454.  
  455. (*****************************************************************************)
  456.  
  457.  
  458.   idPTXT      * = SYSTEM.VAL(LONGINT,'PTXT') ;
  459.   idPUNT      * = SYSTEM.VAL(LONGINT,'PUNT') ;
  460.  
  461.  
  462.   driverNameSize * = 30;   (* filename size     *)
  463.   deviceNameSize * = 32;   (* .device name size *)
  464.  
  465. TYPE
  466.   PrinterTxtPrefs * = STRUCT
  467.     reserved    * : ARRAY 4 OF LONGINT;    (* System reserved            *)
  468.     driver      * : ARRAY driverNameSize OF SHORTINT; (* printer driver filename *)
  469.     port        * : SHORTINT;              (* printer port connection    *)
  470.  
  471.     paperType   * : INTEGER;
  472.     paperSize   * : INTEGER;
  473.     paperLength * : INTEGER;               (* Paper length in # of lines *)
  474.  
  475.     pitch       * : INTEGER;
  476.     spacing     * : INTEGER;
  477.     leftMargin  * : INTEGER;               (* Left margin                *)
  478.     rightMargin * : INTEGER;               (* Right margin               *)
  479.     quality     * : INTEGER;
  480.   END;
  481.  
  482. CONST
  483. (* constants for PrinterTxtPrefs.pt_Port *)
  484.   parallel    * = 0;
  485.   serial      * = 1;
  486.  
  487. (* constants for PrinterTxtPrefs.pt_PaperType *)
  488.   fanfold     * = 0;
  489.   single      * = 1;
  490.  
  491. (* constants for PrinterTxtPrefs.pt_PaperSize *)
  492.   psUSLetter  * = 0;
  493.   psUSLegal   * = 1;
  494.   psNTractor  * = 2;
  495.   psWTractor  * = 3;
  496.   psCustom    * = 4;
  497.   psEuroA0    * = 5;      (* European size A0: 841 x 1189 *)
  498.   psEuroA1    * = 6;      (* European size A1: 594 x 841  *)
  499.   psEuroA2    * = 7;      (* European size A2: 420 x 594  *)
  500.   psEuroA3    * = 8;      (* European size A3: 297 x 420  *)
  501.   psEuroA4    * = 9;      (* European size A4: 210 x 297  *)
  502.   psEuroA5    * = 10;     (* European size A5: 148 x 210  *)
  503.   psEuroA6    * = 11;     (* European size A6: 105 x 148  *)
  504.   psEuroA7    * = 12;     (* European size A7: 74 x 105   *)
  505.   psEuroA8    * = 13;     (* European size A8: 52 x 74    *)
  506.  
  507. (* constants for PrinterTxtPrefs.pt_PrintPitch *)
  508.   pica        * = 0;
  509.   elite       * = 1;
  510.   fine        * = 2;
  511.  
  512. (* constants for PrinterTxtPrefs.pt_PrintSpacing *)
  513.   sixLPI      * = 0;
  514.   eightLPI    * = 1;
  515.  
  516. (* constants for PrinterTxtPrefs.pt_PrintQuality *)
  517.   draft       * = 0;
  518.   letter      * = 1;
  519.  
  520. TYPE
  521.   PrinterUnitPrefs * = STRUCT
  522.     reserved        * : ARRAY 4 OF LONGINT;  (* System reserved              *)
  523.     unitNum         * : LONGINT;             (* Unit number for OpenDevice() *)
  524.     openDeviceFlags * : LONGSET;             (* Flags for OpenDevice()       *)
  525.     deviceName      * : ARRAY deviceNameSize OF SHORTINT;  (* Name for OpenDevice() *)
  526.   END;
  527.  
  528.  
  529. (*****************************************************************************)
  530.  
  531. CONST
  532.   idSCRM      * = SYSTEM.VAL(LONGINT,'SCRM') ;
  533.  
  534. TYPE
  535.   ScreenModePrefs * = STRUCT
  536.     reserved   * : ARRAY 4 OF LONGINT;
  537.     displayID  * : LONGINT;
  538.     width      * : INTEGER;
  539.     height     * : INTEGER;
  540.     depth      * : INTEGER;
  541.     control    * : INTEGER;
  542.   END;
  543.  
  544. CONST
  545. (* flags for ScreenModePrefs.smp_Control *)
  546.   autoScroll  * = 1;
  547.  
  548.  
  549. (*****************************************************************************)
  550.  
  551.  
  552.   idSERL      * = SYSTEM.VAL(LONGINT,'SERL') ;
  553.  
  554. TYPE
  555.   SerialPrefs * = STRUCT
  556.     reserved        * : ARRAY 3 OF LONGINT; (* System reserved           *)
  557.     unit0Map        * : LONGINT;     (* What unit 0 really refers to     *)
  558.     baudRate        * : LONGINT;     (* Baud rate                        *)
  559.  
  560.     inputBuffer     * : LONGINT;     (* Input buffer: 0 - 65536          *)
  561.     outputBuffer    * : LONGINT;     (* Future: Output: 0 - 65536        *)
  562.  
  563.     inputHandshake  * : SHORTINT;    (* Input handshaking                *)
  564.     outputHandshake * : SHORTINT;    (* Future: Output handshaking       *)
  565.  
  566.     parity          * : SHORTINT;    (* Parity                           *)
  567.     bitsPerChar     * : SHORTINT;    (* I/O bits per character           *)
  568.     stopBits        * : SHORTINT;    (* Stop bits                        *)
  569.   END;
  570.  
  571. CONST
  572. (* constants for SerialPrefs.sp_Parity *)
  573.   parityNone  * = 0;
  574.   parityEven  * = 1;
  575.   parityOdd   * = 2;
  576.   parityMark  * = 3;        (* Future enhancement *)
  577.   paritySpace * = 4;        (* Future enhancement *)
  578.  
  579. (* constants for SerialPrefs.sp_Input/OutputHandshaking *)
  580.   hshakeXON   * = 0;
  581.   hshakeRTS   * = 1;
  582.   hshakeNone  * = 2;
  583.  
  584.  
  585. (*****************************************************************************)
  586.  
  587.  
  588.   idSOND      * = SYSTEM.VAL(LONGINT,'SOND') ;
  589.  
  590. TYPE
  591.   SoundPrefs  * = STRUCT
  592.     reserved      * : ARRAY 4 OF LONGINT;(* System reserved            *)
  593.     displayQueue  * : BOOLEAN;           (* Flash the display?         *)
  594.     audioQueue    * : BOOLEAN;           (* Make some sound?           *)
  595.     audioType     * : INTEGER;           (* Type of sound, see below   *)
  596.     audioVolume   * : INTEGER;           (* Volume of sound, 0..64     *)
  597.     audioPeriod   * : INTEGER;           (* Period of sound, 127..2500 *)
  598.     audioDuration * : INTEGER;           (* Length of simple beep      *)
  599.     audioFileName * : ARRAY 256 OF CHAR; (* Filename of 8SVX file      *)
  600.   END;
  601.  
  602. CONST
  603. (* constants for SoundPrefs.sop_AudioType *)
  604.   beep        * = 0;      (* simple beep sound *)
  605.   sample      * = 1;      (* sampled sound     *)
  606.  
  607.  
  608. (*****************************************************************************)
  609.  
  610.   idPTRN      * = SYSTEM.VAL(LONGINT,'PTRN');
  611.  
  612. TYPE
  613.   WBPatternPrefs * = STRUCT
  614.     reserved    * : ARRAY 4 OF LONGINT;
  615.     which       * : INTEGER;    (* Which pattern is it *)
  616.     flags       * : SET;
  617.     revision    * : SHORTINT;   (* Must be set to zero *)
  618.     depth       * : SHORTINT;   (* Depth of pattern *)
  619.     dataLength  * : INTEGER;    (* Length of following data *)
  620.   END;
  621.  
  622. CONST
  623. (* constants for WBPatternPrefs.wbp_Which *)
  624.   root        * = 0;
  625.   drawer      * = 1;
  626.   screen      * = 2;
  627.  
  628. (* wbp_Flags values *)
  629.   pattern     * = 0; (* Data contains a pattern *)
  630.   noRemap     * = 4; (* Don't remap the pattern *)
  631.  
  632. (* wbp_Depth values *)
  633.   maxDepth    * = 3;       (*  max depth supported (8 colors) *)
  634.   defPatDepth * = 2;       (*  depth of default patterns *)
  635.  
  636. (*  Pattern width & height: *)
  637.   patWidth    * = 16;
  638.   patHeight   * = 16;
  639.  
  640. END Prefs.
  641.  
  642.